# Дизайн команды
## Описание
Эта область ответственности актуальна в разных случаях – и для единой команды, работающей над одним бэклогом, и для команд, в которых разработчики участвуют одновременно в нескольких проектах. Задачей тимлида является учесть все ограничения и сформировать одну или несколько команд таким образом, чтобы работа шла без каких-либо проблем. Что нужно учесть:
- Требования проектов – количество людей, их уровень, навыки.
- Совместимость людей – насколько конкретные сотрудники могут ужиться друг с другом и продуктивно работать.
- Желания людей – над каким проектом кому интересно работать, задачи какого рода вдохновляют.
- Планы роста людей – работа над какими задачами поможет развитию требуемых навыков.

В случае работы над несколькими проектами у тимлида зачастую есть возможность на своё усмотрение перебрасывать людей. В случае единой команды такой переход обычно значит и перевод к другому руководителю.

## Почему ветка важна?
Для менеджера:
- Замена людей – быстрый способ решения любых проблем с результатами, перфомансом или навыками команды. Но это не даётся бесплатно – любая перемена состава может сильно повлиять на состояние команды, поэтому любые изменения важно тщательно продумывать.
- Перекидывание людей между проектами и задачами позволяет точечно прокачивать требуемые компетенции и влиять на мотивацию.

Для сотрудника:
- Разнообразие рабочих задач и проектов – это отличный способ попробовать что-то новое и вырасти как профессионал.

Для компании:
- Переход в другую команду может быть альтернативой увольнению для сотрудника. Даже если одна команда потеряет ценного специалиста, в масштабах компании эта потеря будет не так значима.

## Что будет, если её не делать?
- Слишком частые и бессистемные перестановки не позволят команде глубоко узнать продукт и сработаться – уровень производительности будет стабильно низким.
- Если не держать под контролем требования по людям разных проектов, то где-то ресурсов будет не хватать, а где-то их будет избыток. В обоих случаях страдает и бизнес, и сотрудники.

## На кого может быть делегирована?
Обычно не делегируется.

## Примеры хорошего поведения
- Провести дизайн команды, опираясь на бэклог, над которым команда будет работать
- Учесть динамику личных отношений внутри коллектива
- Учесть личные интересы и планы развития потенциальных членов команды

## Примеры плохого поведения
- Нанять "среднюю по рынку" команду: аналитик, дизайнер, разработчик, тестер
- Использовать такие правила, как "1 разработчик - 2 тестера"

## Способы прокачки
### Практика
#### Подход к дизайну команд, который используется в Large Scale Scrum (LeSS)
Ниже описанный подход призван лишь показать, как "качественно" оценить состав команды. Полученные данные нужно правильно интерпретировать.

##### 1. Составление одного бэклога для проекта(ов)/продукта(ов), для которого необходима команда
В данном контексте *бэклог* - это список всей известной работы на текущий момент в рамках заданного направления

Пример развития онлайн-магазина:

|№|Элемент бэклога|
|---|---|
|1|Лендинг-страница|
|2|Вывод в топ поисковиков|
|3|Форма обратной связи|
|4|Интеграция с ПО управления складом|
|5|Форма онлайн-оплаты|

Размер элементов и их порядок не имеют принципиального значения.

##### 2. Составление HitMap (матрица компетенций и элементов бэклога)
Дополните бэклог вторым измерением в виде компетенций, которые необходимы для выполнения данных элементов. На пересечении элементов и компетенций поставьте
  - "0" - для реализации данного элемента данная компетенция не нужна
  - "1" - для реализации данного элемента данная компетенция требуется

|№|Элемент бэклога/Компетенции|PHP|JS|SEO|Маркетинг|Бух. учёт|Админ. Linux|
|---|---|---|---|---|---|---|---|
|1|Лендинг-страница|1|1|0|0|0|1|
|2|Вывод в топ поисковиков|0|1|1|1|0|0|
|3|Форма обратной связи|1|1|0|0|0|0|
|4|Интеграция с ПО управления складом|1|0|0|1|1|1|
|5|Форма онлайн-оплаты|1|1|1|1|1|1|

Можно не ограничиваться бинарной оценкой, экспериментировать с весами и коэффициентами. Если посчитать сумму по столбцам и нормировать их по общей сумме, то получим %-распределение компетенций, которыми должна обладать новая команда.

|№|Элемент бэклога/Компетенции|PHP|JS|SEO|Маркетинг|Бух. учёт|Админ. Linux|
|---|---|---|---|---|---|---|---|
|1|Лендинг-страница|1|1|0|0|0|1|
|2|Вывод в топ поисковиков|0|1|1|1|0|0|
|3|Форма обратной связи|1|1|0|0|0|0|
|4|Интеграция с ПО управления складом|1|0|0|1|1|1|
|5|Форма онлайн-оплаты|1|1|1|1|1|1|
| |Сумма|4|4|2|3|2|3|
| |% распределения|22%|22%|11%|17%|11%|17%|

Т.е в нашем примере если мы бы хотели набрать команду из 10 человек, то состав примерно был бы следующим:
  - 2 x PHP-разработчика
  - 2 x JS-разработчика
  - 1 x SEO-специалист
  - 2 x eMarketing-специалист
  - 1 x Специалист по бух.учёту
  - 2 x Администратора Linux

Если учесть, что реальные люди владеют несколькими компетенциями, общая численность команды может быть снижена за счёт совместного перекрытия навыков.

##### 3. Составление "Звёздной карты"
Если мы формируем команду в т.ч. из сотрудников компании, а не полностью набираем с рынка, то можем оценить, как они смогут потенциально перекрыть необходимые компетенции. Для этого возьмём список компетенций из п.2, но элементы бэклога заменим нашими сотрудниками.
На пересечении в такой матрице нужно отметить уровень знаний сотрудника в данном направлении:
- "⭐" - хорошо знаю, могу подсказать
- "👓" - хочу изучить
- " " - не интересно

|№|Сотрудник/Компетенции|PHP|JS|SEO|Маркетинг|Бух. учёт|Админ. Linux|
|---|---|---|---|---|---|---|---|
|1|Петя|⭐| |⭐| |👓|👓|
|2|Вася|👓| |⭐| | |⭐|
|3|Коля|👓| |⭐|⭐| | |
|4|Маша| |⭐| | |👓|👓|

Как и с прошлым упражнением, можно придумать любую градацию кроме предложенной. Сотрудникам она поможет найти экспертов в необходимой области, а тимлид "оцифрует её", чтобы провести анализ. Это можно сделать поменяв пиктограммы на числа и сразу применив нормирование как в п.2:
- "⭐" - 2
- "👓" - 1
- " " - 0

|№|Сотрудник/Компетенции|PHP|JS|SEO|Маркетинг|Бух. учёт|Админ. Linux|
|---|---|---|---|---|---|---|---|
|1|Петя|2|0|2|0|1|1|
|2|Вася|1|0|2|0|0|2|
|3|Коля|1|0|2|2|0|0|
|4|Маша|0|2|0|0|1|1|
| |Сумма|4|2|6|2|2|4|
| |% распределения|20%|10%|30%|10%|10%|20%|

##### 4. Анализ распределений
Если наложить распределения из п.2 и п.3

|Сотрудник/Компетенции|PHP|JS|SEO|Маркетинг|Бух. учёт|Админ. Linux|
|---|---|---|---|---|---|---|
|Бэклог требует из п.2|22%|22%|11%|17%|11%|17%|
|Люди умеют из п.3|20%|10%|30%|10%|10%|20%|

Как видно из сравнения в примере, что компетенции "Маркетинг" и "Бух. учёт" не могут быть закрыты полностью текущей командой, т.е. это возможные направления в усилении команды за счёт найма или обучения.

##### 5. Воркшоп по объединению в команду
Как только вся потенциальная команда собрана, можно дать людям рассказать о себе, просто пообщаться или совместно выполнить какое-либо задание. Далее путём закрытого голосования определить готовность всех участников стартовать в таком составе.

## Консультации
- [Чат TeamLead Bootcamp](https://t.me/tlbootcamp)

## Теория
### Ссылки
- [HitMap и воркшоп по формированию команд](https://scrum.ru/mts_5)
